Font downloading apparatus and method

ABSTRACT

The present invention relates to a font downloading apparatus and method which can download fonts of a coding scheme not supported by a printer after converting them into a supported coding scheme. When a user on a host computer selects a printer to which a font is to be downloaded, the system acquires coding schemes supported by the selected printer. Then, when a font to be downloaded is specified, the system acquires the coding scheme of the font. If the font to be downloaded is not supported by the printer, the system makes the user to select one of the acquired coding schemes, converts the codes of the font to be downloaded to the selected coding scheme, and downloads the font to the printer.

FIELD OF THE INVENTION

[0001] The present invention relates to a font downloading method andapparatus for printing devices and the like connected, for example, to anetwork.

BACKGROUND OF THE INVENTION

[0002] Conventionally, in the use of downloaded fonts, it has beencommon practice to convert character codes in print data according tothe character coding scheme of the downloaded fonts as described inJapanese Patent Laid-Open No. 8-106524. Another practice involvesdownloading fonts after converting them into a specific character codingscheme to allow for printing fonts which belong to an incompatiblecoding scheme, as exemplified by external character processing describedin Japanese Patent Laid-Open No. 11-20244.

[0003] However, according to the conventional methods described above,even if Arabic fonts, for example, are downloaded to a printer intendedfor use in Western Europe, they cannot be printed if the printer doesnot support Arabic languages. Although they can be made printable ifconverted into a specific coding scheme as is the case when externalcharacters are processed, this presents the following problems:

[0004] When two or more printers are used, it is not always possible todownload a font to all the printers using the same specific codingscheme.

[0005] If a font is downloaded after being converted into a commoncoding scheme supported by all the printers, the target coding scheme isoften the most frequently used coding scheme. This makes a great impacton the system. For example, when a font is downloaded, frequently usedcharacters may be replaced by downloaded counterparts, resulting inunintended characters being printed or in disturbed character spacing.

SUMMARY OF THE INVENTION

[0006] The present invention has been made in view of the aboveproblems. Its object is to provide a font downloading method andapparatus which can convert fonts of a coding scheme not supported bycharacter/image forming equipment such as a printer into a supportedcoding scheme to be downloaded, and thereby make it possible to downloadand use fonts of a coding scheme specified by a user without affectingnormal operation of the equipment.

[0007] To achieve the above object, the present invention provides anapparatus for downloading fonts to a character output apparatus,comprising:

[0008] a selector for allowing one of character coding schemes supportedby the character output apparatus to be selected if the character codingscheme of the fonts cannot be used on the character output apparatus;

[0009] a converter for converting the character coding scheme of thefonts into the character coding scheme selected via the selector; and

[0010] a downloader for downloading the fonts whose character codingscheme has been converted by the converter onto the character outputapparatus.

[0011] This configuration allows the character output apparatus to usefonts it cannot normally use and allows the user to select the fonts tobe used. This prevents output characters from being garbled.

[0012] Preferably, the font downloading apparatus comprises: anacquisition unit for acquiring coding schemes supported by the characteroutput apparatus from the character output apparatus; and adetermination unit for determining that the character coding scheme ofthe fonts cannot be used by the character output apparatus if the codingschemes acquired by the acquisition unit do not contain the charactercoding scheme of the fonts.

[0013] This configuration allows supported character coding schemes tobe acquired directly from the character output apparatus, preventingselection errors.

[0014] Preferably, the font downloading apparatus further comprises: astorage for storing the type of the character output apparatus andcharacter coding schemes supported by the character output apparatus byassociating them with each other; and a determination unit fordetermining that the character coding scheme of the fonts cannot be usedby the character output apparatus if the character coding schemesassociated with the character output apparatus do not contain thecharacter coding scheme of the fonts.

[0015] By storing the character coding schemes supported by thecharacter output apparatus, this configuration makes it possible toprevent an unsupported character coding scheme from being selected,eliminate the need for communications procedures for acquiring charactercoding schemes, and thus reduce processing time.

[0016] Other objects, features, effects and advantages of the presentinvention will be apparent from the following description, taken inconjunction with the accompanying drawings, in which like referencecharacters designate the same or similar parts throughout the figuresthereof.

BRIEF DESCRIPTION OF THE DRAWINGS

[0017]FIG. 1 is a diagram showing a system which contains a downloaderaccording to the present invention;

[0018]FIG. 2 is a flowchart showing a download operation performed bythe downloader according to the present invention;

[0019]FIG. 3 is a conceptual diagram showing font conversion performedby the downloader according to the present invention;

[0020]FIG. 4 is a diagram showing code conversion tables of thedownloader according to the present invention;

[0021]FIG. 5 is a diagram showing a screen of the downloader accordingto the present invention;

[0022]FIG. 6 is a flowchart showing a download operation performed by adownloader according to a second embodiment of the present invention;and

[0023]FIG. 7 is a diagram showing information about correspondencebetween machine names and supported coding schemes, held by thedownloader according to the present invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0024] [First Embodiment]

[0025]FIG. 1 is a diagram best describing characteristics of a systemwhich employs a downloader according to the present invention. Aconfiguration of the system which employs the present invention will bedescribed with reference to the drawing.

[0026] In the figure, a network 1 mutually connects a personal computer(hereinafter abbreviated to PC), printers, etc. The PC 2 is connectedwith a CPU, a RAM, a ROM, various interfaces (IFs) via a system bus (notshown). A hard disk drive 21 is connected to the bus or an IF of the PC2 and holds programs run on the PC 2 and data used by the programs. Thehard disk drive 21 also stores the downloader according to the presentinvention as well as downloaded data such as fonts. A display unit 3such as a CRT or liquid-crystal monitor creates displays according toprograms running on the PC. A printer device 4 consists of a dataprocessor, print engine, network IF, ROM, RAM, etc. A hard disk drive 41used by the printer 4 is connected to the bus or an IF of the printer 4and holds programs run by the printer 4, print data processed by theprograms, fonts, form overlay data, macro data, etc. A flash memorydevice 42 used by the printer 4 is connected to the bus or an IF of theprinter 4 and holds programs run by the printer 4, fonts, form overlaydata, macro data, etc.

[0027] Font data held by the printer 4 includes a glyph table whichcontains glyph data for expressing characters visually and internal codetable which associates specific glyphs with character codes. Duringprinting, an internal code is searched and retrieved from the internalcode table using a given code, and glyph data corresponding to theinternal code is acquired from the glyph table. Then, character imagedata is generated using the acquired glyph data and laid out inspecified locations on output pages. The internal code registered in theinternal code table is Unicode in the case of the printer according tothis embodiment. Thus, the internal code table is required to convertthe coding scheme of fronts desired to be used on the printer into theinternal coding scheme, i.e., Unicode.

[0028] In this system, the downloader is implemented as a program whichis stored as a program file on the hard disk of the PC 2 and read intothe RAM and executed by the CPU at run time.

[0029]FIG. 2 is a flowchart showing operation of the downloaderaccording to the present invention. The operation of the downloader willbe described with reference to the drawing.

[0030] The downloader is stored in the hard disk drive 21 shown inFIG. 1. It is loaded into the RAM and executed by the CPU at run time.

[0031] Incidentally, according to this embodiment, the fonts downloadedare outline fonts in Apple Computer's TrueType format, the printer is aPCL printer (PCL is a page description language developed byHewlett-Packard Co.), the information acquisition and download protocolis JL (Job Language), the coding scheme supported by the printer isconstituted by character strings used in PCL's select commands. PCLassigns character strings to coding schemes in select commands asfollows: it assigns 19U to Windows Latin1, and 2N to Latin2. That is,when sending a print command written in PCL from the personal computer 2to the printer to make the printer do printing, the coding scheme to beused can be specified in a select command. For example, if “19U” isselected, this means that “Windows Latinl” is specified.

[0032] Referring to FIG. 2, in Step S201, a printer is selected fordownloading. It is selected from a list of printers connected to thenetwork. A list of printers can be obtained, for example, using a devicelisting function provided by the operating system. The operator canspecify a specific printer in the printer list. The specified printer isselected as the printer for downloading.

[0033] In Step S202, a list of coding schemes supported by the selectedprinter is acquired from the printer and held in memory. According tothis embodiment, the printer is connected to the personal computer 2 viabidirectional communications. When a predetermined command is issued tothe printer by the personal computer 2, the printer returns a list ofsupported coding schemes to the personal computer 2. The personalcomputer 2 receives and holds the list. The list of supported codingschemes is in an array format and the array will be referred to as arrayA. The coding schemes may be returned as character strings Latin1,Latin2, JISX0208, and the like or as code page numbers such as thoseused by Microsoft Windows (registered trademark) and the like. Anyway,any format may be used within the system as long as it allows comparisonwith font coding schemes described later. The identifiers such ascharacter strings or numbers which represent the acquired coding schemesare stored in the array beginning with index 0. In the above example,they are stored as A[0]=“Latin1”, A[1]=“Latin2”, A[2]=“JISX0208”.

[0034] In Step S203, the operator is made to specify the font to bedownloaded. The specified font is stored. The fonts available to bespecified are computer resources managed by the operating system of thepersonal computer 2. Fonts are selected, for example, from a font listby the operator, and thereby specified. Alternatively, downloadablefonts may be stored in a file storage as normal data files, from whichthe operator may be allowed to select a desired one. In either case, theselected font is marked for downloading.

[0035] In Step S204, the identifier of the coding scheme is extractedfrom the specified font and stored in a memory area B. Fonts arenormally stored as files (font files) and the coding scheme of a font isrecorded in the header of the font file. This makes it possible to knowthe coding scheme of a font when the font is used. The identifier of thecoding scheme stored in the memory area B has the same format as thecoding schemes stored in array A.

[0036] The coding scheme of a font may be Unicode or a specific 1-byteor 2-byte coding scheme. However, it is assumed here that the font to bedownloaded has been created in a 1-byte coding scheme. The specific1-byte coding scheme may be Code Page 850, Symbol, or Code Page 846Latin/Arabic, for example. Each graphic character (excluding controlcharacters) is assigned one of numeric values 0 to 255, which can beexpressed by one byte (one octet). Even in 2-byte or other multi-bytecharacter coding schemes, characters are treated in a basically similarmanner although each character is represented by two or more bytes.

[0037] Incidentally, fonts created in Unicode contain information as toin what coding schemes they can be used. Thus, when downloading fontscreated in Unicode, they can be treated similarly to fonts in the 1-bytecoding schemes described above if the coding scheme for downloading isselected from among the coding schemes described in the font files asbeing supported.

[0038] In Step S205, it is determined whether array A which hold thecoding schemes supported by the printer contains the font's codingscheme stored in the memory area B. If the font's coding scheme iscontained, the flow goes to Step S206. Otherwise, the flow goes to StepS207.

[0039] In Step S206, since the coding scheme of the font to bedownloaded can be used as it is on the printer, only the format of fontdata is converted into a downloadable format. Normally, TrueType fontsare not printed if downloaded as they are to a printer. Thus, they mustbe converted into a format which can be processed by the printer. Forexample, before TrueType fonts can be downloaded to a PCL printer,Symbol Set information (character code information), spacinginformation, and other information used by PCL must be generated fromdata contained in the TrueType fonts, unnecessary information such asinformation referenced only by Windows or PostScript must be deleted,TrueType character pattern data as well as tables needed to developTrueType character patterns must be converted into a format downloadableto the PCL printer, and control codes necessary for downloading must beadded.

[0040] On the other hand, in Step S207, since the coding scheme of thefont to be downloaded cannot be used as it is on the printer, the codingscheme is converted before downloading. First, the list of the codingschemes supported by the printer is taken out of array A and displayedon the display unit 3 of the personal computer 2. In Step S208, theoperator is allowed to select one of the listed coding schemes using akeyboard or the like. The coding scheme selected by the operator isstored.

[0041] In Step S209, the character codes of the font to be downloadedare converted according to the selected and stored coding scheme andtheir data format is converted into a format supported by the printer.

[0042] In Step S210, the font converted into a supported format in StepS206 or Step S209 is downloaded, and the processing is finished. Asdescribed above, this embodiment uses Unicode as the internal code. Inthe conversion of a coding scheme, characters to be downloaded areassigned Unicode characters which can be converted into character codesbelonging to a specific coding scheme (e.g., Latin1).

[0043]FIG. 3 is a diagram showing a font conversion process (Step S209in FIG. 2). In FIG. 3, a font in a unique format is converted intoUnicode supported by the printer before downloading. For example, aTibetan font created in a 1-byte internal code cannot be printed on aprinter generally used in Europe or the USA even if it is downloaded asa Unicode font or 1-byte Tibetan font. Even in that case, the Tibetanfont can be used if the Tibetan character codes are converted, forexample, into a coding scheme supported by the printer, such as ASCII orLatin1 generally used in Europe and America. The target coding schemecan be selected by the user in Step S203 in FIG. 2, but at least it mustnot be the one used with the font to be downloaded.

[0044] For example, in a system which usually use Roman8, the Latin1coding scheme is rarely used for printer fonts, which belong to Roman8in most cases. Thus, if the Tibetan language is downloaded to theprinter in the Latin1 coding scheme, printing of other documents is notaffected. Thus, the Tibetan language can be downloaded in the Latin1coding scheme and subsequently Latin1 can be selected only when theTibetan language is needed.

[0045] Then, to use the Tibetan language in the Latin1 coding scheme,the Tibetan language can be converted together with Unicode which can beconverted into Latin1. At the time of printing, if Latin1 is selectedusing a select command of the PCL page description language, 1-bytecharacter codes contained in the subsequent print data are printed inthe Tibetan font.

[0046] Incidentally, if a user uses Roman8 and Latin1, but does not useCyrillic (Russian Alphabet) and if his/her printer supports Cyrillic,he/she can download the coding scheme of the Tibetan font by convertingit into Unicode used by Cyrillic. The downloaded font can be used forprinting if selected as a font belonging to the coding scheme selectedat the time of downloading. Specifically, if the coding scheme of theTibetan font is converted into Cyrillic for downloading, the “Cyrillic”coding scheme can be selected using the select command of PrinterControl Language (PCL). This allows Tibetan characters to be used as afont of the Cyrillic coding scheme supported by the printer.Incidentally, if a coding scheme contains two or more fonts belonging tothe same font family, to identify a downloaded font, other fontattributes (character size, style. etc) can be used together forselection.

[0047]FIG. 4 is a diagram showing an example of font conversion table.In FIG. 4, Win_Latin1 consists of 256 codes (codes represented by 0 to255). In table 401 in FIG. 4, the comma-separated numeric valuesenclosed by braces { } are individual character codes in Unicode. Thenumeric values other than 0 are Unicode character codes of correspondingLatin1 character codes. Specifically, the positions in the tablerepresent Win_Latin1 character codes and the values at the respectivepositions represent the pre-conversion Unicode character codes for thecorresponding Latinl character codes. For example, the euro currencysymbol is represented by 128 (0x80 in hexadecimal) in Win_Latin1 and by0x20AC in Unicode, and thus the 128th position in the Win_Latin1contains a hexadecimal number 0x20AC. Therefore, the character patternassigned to 0x20AC in Unicode by the conversion table can be printed as128 (0x80 in hexadecimal) in Win_Latin1.

[0048] Thus, according to this embodiment, to assign a font of anothercoding scheme to the Win_Latin1 coding scheme, the character patternscan be redefined according to the table in FIG. 4. For example, thecharacter pattern which needs to be printed as 0x80 can be downloaded byassigning it to the code 0x20AC instead of the euro currency symbol.

[0049] The downloader of the personal computer stores as many similarconversion tables (e.g., tables 402 and 403 in FIG. 4) as there arecoding schemes which are supported by the printer and likely to bedownloaded. If the system can acquire the conversion tables in FIG. 4from the printer, it is also possible to upload them from the printerwhen they are used.

[0050]FIG. 5 shows a user interface screen of the downloader. As shownin the figure, a font belonging to the Win Arabic coding scheme (notsupported by connected iR5000 PCL printers) is going to be downloaded.There are three coding schemes supported by the iR5000 PCL printers: WinLatin1, Latin2 and Latin7. When the operator selects one of them andclicks on a Download button, the selected coding scheme is downloadedaccording to procedures of the flowchart shown in FIG. 2 after theWin_Arabic character patterns are assigned, as a font belonging to theselected coding scheme, to Unicode which will be converted into theselected coding scheme within the printer.

[0051] As described above, by acquiring a downloadable character codingscheme (internal code table) from the printer and converting the codingscheme of fonts not supported by the printer into the acquired codingscheme before downloading, it is possible to print characters whichnormally cannot be printed.

[0052] [Second Embodiment]

[0053] Regarding FIGS. 1, 3, 4, and 5, this embodiment is the same asthe first embodiment. However, as data on available printers, thepersonal computer 2 holds a list of coding schemes supported by theprinters.

[0054]FIG. 6 is a flowchart showing operation of a downloader accordingto the present invention. This downloader operates in the system shownin FIG. 1. When the operator selects a printer in Step S601, supportedcoding schemes are extracted based on the model name in Step S602. Theextracted coding scheme information is held in array A. Steps S603 toS610 correspond, respectively, to Steps S203 to S210 in FIG. 2.Operations in these steps have already been described in the firstembodiment, and thus description thereof will be omitted here. Theseprocedures make it possible to download and use fonts belonging to acoding scheme not supported by the printer after converting them into acoding scheme supported by the printer.

[0055]FIG. 7 shows stored data about correspondence between machinenames of printers and supported coding schemes as it is displayed intext form. For example, if the printer name is iR5000R, character codingschemes Win_Latin1, Win_Arabic, Basic_Latin, LatinEX are available. Ascan be seen from the figure, given a model name, supported codingschemes can normally be known. According to this embodiment, thedownloader can in advance possess the type of information that must beacquired from printers in the case of the first embodiment.

[0056] By making the downloader hold the model names of printers andsupported coding schemes associated with them, it is possible toincorporate necessary code conversion tables (shown in FIG. 4) into thedownloader in advance without omission. Besides, only the codes that canbe used definitely can be presented to the user because codes for whichthere is no code conversion table are not marked as available and arenot specified by the user.

[0057] Incidentally, the present invention may be applied either to asystem consisting of two or more apparatus (e.g., a host computer,interface devices, a reader, a printer, and the like) or to equipmentconsisting of a single apparatus (e.g., a copier, a facsimile machine,or the like).

[0058] Also, the object of the present invention can be achieved by astorage medium (or recording medium) containing the software programcode that implements the functions of the above embodiments: it issupplied to a system or apparatus, whose computer (or a CPU or MPU) thenreads the program code out of the storage medium and executes it.

[0059] In that case, the program code itself read out of the storagemedium will implement the functions of the above embodiments, and theprogram code itself and the storage medium which stores the program codewill constitute the present invention.

[0060] Also, the functions of the above embodiments may be implementednot only by the program code read out and executed by the computer, butalso by part or all of the actual processing executed, in accordancewith instructions from the program code, by an operating system (OS) orthe like running on the computer.

[0061] Furthermore, the functions of the above embodiments may also beimplemented by part or all of the actual processing executed by a CPU orthe like contained in a function expansion card inserted in the computeror a function expansion unit connected to the computer if the processingis performed in accordance with instructions from the program code thathas been read out of the storage medium and written into memory on thefunction expansion card or unit.

[0062] As described above, the present invention makes it possible todownload and use fonts of a special coding scheme not supported by aprinter, without affecting normal operation of the equipment, bydisplaying the coding schemes supported by the printer and convertingthe fonts into a coding scheme specified by the user from among them.

[0063] Also, the present invention allows the character output apparatusto use fonts it cannot normally use and allows the user to select thefonts to be used. This prevents output characters from being garbled.

[0064] Besides, the present invention allows supported character codingschemes to be acquired directly from the character output apparatus,preventing selection errors.

[0065] Furthermore, by storing the character coding schemes supported bythe character output apparatus, the present invention makes it possibleto prevent an unsupported character coding scheme from being selected,eliminate the need for communications procedures for acquiring charactercoding schemes, and thus reduce processing time.

[0066] The present invention is not limited to the above embodiments andvarious changes and modifications can be made within the spirit andscope of the present invention. Therefore, to appraise the public of thescope of the present invention, the following claims are made.

What is claimed is:
 1. A font downloading apparatus for downloadingfonts to a character output apparatus, comprising: a selector forallowing one of character coding schemes supported by the characteroutput apparatus to be selected if the character coding scheme of thefonts cannot be used on the character output apparatus; a converter forconverting the character coding scheme of the fonts into the charactercoding scheme selected via the selector; and a downloader fordownloading the fonts whose character coding scheme has been convertedby the converter onto the character output apparatus.
 2. The fontdownloading apparatus according to claim 1, further comprising: anacquisition unit for acquiring coding schemes supported by the characteroutput apparatus from the character output apparatus; and adetermination unit for determining that the character coding scheme ofthe fonts cannot be used by the character output apparatus if the codingschemes acquired by the acquisition unit do not contain the charactercoding scheme of the fonts.
 3. The font downloading apparatus accordingto claim 1, further comprising: a storage for storing the type of thecharacter output apparatus and character coding schemes supported by thecharacter output apparatus by associating them with each other; and adetermination unit for determining that the character coding scheme ofthe fonts cannot be used by the character output apparatus if the codingschemes associated with the character output apparatus do not containthe character coding scheme of the fonts.
 4. A font downloading methodfor downloading fonts to a character output apparatus, comprising: aselection step of allowing one of character coding schemes supported bythe character output apparatus to be selected if the character codingscheme of the fonts cannot be used on the character output apparatus; aconversion step of converting the character coding scheme of the fontsinto the character coding scheme selected in the selection step; and astep of downloading the fonts whose character coding scheme has beenconverted in the conversion step onto the character output apparatus. 5.The font downloading method according to claim 4, further comprising: anacquisition step of acquiring coding schemes supported by the characteroutput apparatus from the character output apparatus; and a step ofdetermining that the character coding scheme of the fonts cannot be usedby the character output apparatus if the coding schemes acquired in theacquisition step do not contain the character coding scheme of thefonts.
 6. The font downloading method according to claim 4, furthercomprising a step of reading character coding schemes supported by thecharacter output apparatus and stored being associated with the type ofthe character output apparatus out of storage means and determining thatthe character coding scheme of the fonts cannot be used by the characteroutput apparatus if the coding schemes associated with the characteroutput apparatus do not contain the character coding scheme of thefonts.
 7. A computer program product for downloading fonts to acharacter output apparatus, comprising: code for a selection step ofallowing one of character coding schemes supported by the characteroutput apparatus to be selected if the character coding scheme of thefonts cannot be used on the character output apparatus; code for aconversion step of converting the character coding scheme of the fontsinto the character coding scheme selected in the selection step; andcode for a step of downloading the fonts whose character coding schemehas been converted in the conversion step onto the character outputapparatus.
 8. The computer program according to claim 7, furthercomprising: code for an acquisition step of acquiring coding schemessupported by the character output apparatus from the character outputapparatus; and code for a step of determining that the character codingscheme of the fonts cannot be used by the character output apparatus ifthe coding schemes acquired in the acquisition step do not contain thecharacter coding scheme of the fonts.
 9. The computer program accordingto claim 7, further comprising: code for a storage step of storing thetype of the character output apparatus and character coding schemessupported by the character output apparatus by associating them witheach other; and code for a step of determining that the character codingscheme of the fonts cannot be used by the character output apparatus ifthe coding schemes associated with the character output apparatus do notcontain the character coding scheme of the fonts.
 10. The fontdownloading apparatus according to claim 1, wherein after beingconverted by the conversion means, character codes are further convertedinto printer character codes by the character output apparatus.
 11. Thefont downloading apparatus according to claim 10, wherein, the charactercodes after conversion by the conversion means are Unicode charactercodes while the printer character codes are Western European, Cyrillic,or other character codes associated with a language or region.